#define  _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
// 有两类企业：
// 服务性企业及制造业企业。
// 服务性企业按营业收入的5% 征税，
// 制造业企业按营业收入的17% 征税。
// 
// 现需编写程序，输入多个企业的类别及营业收入，计算并输出税收总额。
// 
// 本题使用多态的特性完成，需要定义三个类：
// Company类：基类
// Service类：服务性企业类，由Company类派生
// Manufacturer类：制造业企业类，由Company类派生
// 请完成以上三个类的代码，使得程序能按范例输入、输出。
class Company
{
public:
	Company(int i);
	virtual double getTax() const;
protected:
	int _income;
};

Company::Company(int i)
	:_income(i)
{}

double Company::getTax() const { return 0; }

class Service : public Company
{
public:
	Service(int i);
	virtual double getTax() const;
};

Service::Service(int i)
	:Company(i)
{}

double Service::getTax() const
{
	return _income * 5.0 / 100.0;
}

class Manufacturer : public Company
{
public:
	Manufacturer(int i);
	virtual double getTax() const;
};

Manufacturer::Manufacturer(int i)
	:Company(i)
{}

double Manufacturer::getTax() const
{
	return _income * 17.0 / 100.0;
}

void Test()
{
	char company;
	int income;
	double sum = 0;
	while (scanf(" %c %d", &company, &income) == 2)
	{
		Company* tmp;
		if (company == 'S')
			tmp = new Service(income);
		else
			tmp = new Manufacturer(income);
		sum += tmp->getTax();
		delete tmp;
		tmp = nullptr;
	}
	cout << sum;
}

int main()
{
	Test();
	return 0;
}
